/*!
 *  \file       GaussianNoise.hpp
 *  \brief      Definizione della classe \c GaussianNoise
 *  \author     Davide Scola <S2299453@studenti.unige.it>
 *  \author	Minetti Alberto <S3064777@studenti.unige.it>
 *  \version    1.0
 *
 */

#ifndef _GAUSSIAN_NOISE_H
#define _GAUSSIAN_NOISE_H

/*!
 *  \brief      Definizione della classe \c GaussianNoise
 */
template< class tType >
class GaussianNoise : public ISignalNoise< tType >
{
  public :
    GaussianNoise( tType, tType, IEntropyGenerator & );
    GaussianNoise( GaussianNoise< tType > const& );
    
    virtual GaussianNoise& operator=( const GaussianNoise& );
    
    // interface methods
    virtual tType operator() ( tType );
    
  private :
    GaussRandomGenerator< tType > random_;
};

#endif              /* _GAUSSIAN_NOISE_H */
